Skip to main content

Git Fundamentals

Git nima?

Git - bu version control system (versiyani boshqarish tizimi). Bu oddiy qilib aytganda, sizning kodingizning har bir o'zgarishini saqlab turuvchi "vaqt mashinasi".

Nima uchun Git kerak?

Muammolar Git'siz:

  • Faylingizni buzib qo'ysangiz, eski holatiga qaytara olmaysiz
  • Bir necha kishi bir loyihada ishlasa, kodlar chalkashib ketadi
  • Kim qachon nima o'zgartirganini bilmaysiz
  • Backup qilish qiyin

Git bilan hal:

Sizning loyiha
├── V1.0 - Birinchi versiya
├── V1.1 - Bug fix qo'shildi
├── V1.2 - Yangi feature
└── V2.0 - Katta yangilanish

Asosiy Tushunchalar

1. Repository (Repo)

Bu sizning loyihangizning "uyi". Barcha fayllar va ularning tarixi shu yerda saqlanadi.

# Yangi repo yaratish
git init

# Mavjud repo ni yuklab olish
git clone https://github.com/user/project.git

2. Working Directory

Bu siz hozir ishlayotgan papka. Bu yerda siz fayllarni o'zgartirasiz.

3. Staging Area

Bu "sahnalashtirish maydoni". Bu yerga siz commit qilmoqchi bo'lgan o'zgarishlarni qo'yasiz.

4. Commit

Bu sizning o'zgarishlaringizning "surati". Har bir commit - bu bir nuqta vaqtdagi loyihangizning holati.

Asosiy Buyruqlar

Holat tekshirish

# Hozirgi holatni ko'rish
git status

# O'zgarishlar tarixini ko'rish
git log

# Qisqa tarix
git log --oneline

O'zgarishlarni qo'shish

# Barcha o'zgarishlarni staging area ga qo'shish
git add .

# Bitta faylni qo'shish
git add filename.txt

# Commit qilish
git commit -m "Nima qilganimni tavsifi"

O'zgarishlarni ko'rish

# Nimalar o'zgarganini ko'rish
git diff

# Staging area dagi o'zgarishlar
git diff --staged

Git Workflow (Ish jarayoni)

1. Fayllarni o'zgartiring

2. git add (staging area ga qo'shing)

3. git commit (commit qiling)

4. git push (serverga yuklang)

Foydali Maslahatlar

1. Yaxshi commit message yozing

# Yaxshi ❌
git commit -m "fix"

# Yaxshi ✅
git commit -m "Login sahifasidagi parol validatsiya xatosini tuzatdim"

2. Tez-tez commit qiling

  • Kichik o'zgarishlarni tez-tez commit qiling
  • Katta o'zgarishlarni kichik qismlarga bo'ling

3. Nima ignore qilish kerak

.gitignore faylida yozing:

# Dependencies
node_modules/
*.log

# Build files
dist/
build/

# OS files
.DS_Store
Thumbs.db

Xatolarni tuzatish

Oxirgi commit ni o'zgartirish

git commit --amend -m "Yangi message"

Faylni unstage qilish

git reset HEAD filename.txt

O'zgarishlarni bekor qilish

# Fayldagi o'zgarishlarni bekor qilish
git checkout -- filename.txt

# Barcha o'zgarishlar
git reset --hard HEAD

Xulosa

Git - bu dasturchi uchun eng muhim asbob. Bu:

  • Kodingizni himoya qiladi
  • Jamoada ishlashni osonlashtiradi
  • Xatolardan qaytishga yordam beradi
  • Professional rivojlanish uchun zarur

Eslab qoling: Git o'rganish - bu velosipedga o'rganish kabi. Boshida qiyin bo'ladi, lekin keyin tabiiy bo'lib ketadi!